home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac 1993 September / September 93.iso / Archives / Applications / Text / Text Editors / Alpha 5.31 Folder / Tcl / SystemCode / strings.tcl < prev    next >
Encoding:
Text File  |  1993-01-25  |  1.4 KB  |  58 lines  |  [TEXT/ALFA]

  1. #=============================================================================
  2. # 'Strings' commands
  3. #=============================================================================
  4.  
  5. proc setPrefix {} {
  6.     global prefixString
  7.     if {[catch {prompt "New Prefix String:" $prefixString} res] == 1} return
  8.     set prefixString $res
  9. }
  10.  
  11. proc setSuffix {} {
  12.     global suffixString
  13.     if {[catch {prompt "New Suffix String:" $suffixString} res] == 1} return
  14.     set suffixString $res
  15. }
  16.  
  17. proc insertSuffix {} {doSuffix insert}
  18. proc removeSuffix {} {doSuffix remove}
  19. proc doSuffix {which} {
  20.     global suffixString
  21.     set str ${suffixString}\r
  22.     set start [getPos]
  23.     set end [selEnd]
  24.     set start [lineStart $start]
  25.     set end [nextLineStart [expr $end-1]]
  26.     set text [getText $start $end]
  27.     deleteText $start $end
  28.     if {$which == "insert"} then {
  29.         regsub -all \r $text $str text
  30.     } else {
  31.         regsub -all $str $text \r text
  32.     }
  33.     insertText $text
  34. }
  35.  
  36.  
  37. proc insertPrefix {} {doPrefix insert}
  38. proc removePrefix {} {doPrefix remove}
  39. proc doPrefix {which} {
  40.     global prefixString
  41.     set str \r$prefixString
  42.     set start [getPos]
  43.     set end [expr [selEnd]-1]
  44.     if {$end<$start} {set end $start}
  45.     set start [lineStart $start]
  46.     set text [getText $start $end]
  47.     if {$which == "insert"} then {
  48.         regsub -all \r $text $str text
  49.         replaceText $start $end $prefixString$text
  50.     } else {
  51.         regsub -all $str $text \r text
  52.         regsub ^$prefixString $text "" text
  53.         replaceText $start $end $text
  54.     }
  55. }
  56.  
  57.  
  58.